{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 关键字和保留字\n",
    "\n",
    "关键字是指在编程语言中有特定用途的字符序列，比如变量定义操作符`var`。\n",
    "\n",
    "## ECMAScript 6 中的保留关键字\n",
    "\n",
    "`break` `case` `catch` `class` `const` `continue` `debugger` `default` `delete` `do` `else` `export` `extends` `finally` `for` `function` `if` `import` `in` `instanceof` `new` `return` `super` `switch` `this` `throw` `try` `typeof` `var` `void` `while` `with` `yield` \n",
    "\n",
    "## 未来保留关键字\n",
    "\n",
    "在 ECMAScript 规格中，这些关键字被当成关键字保留。目前它们没有特殊功能，但是在未来某个时间可能会加上。所以这些关键字不能当成标识符使用。这些关键字在严格模式和非严格模式中均不能使用。\n",
    "\n",
    "enum\n",
    "\n",
    "以下关键字只在严格模式中被当成保留关键字：\n",
    "\n",
    "implements\n",
    "interface\n",
    "let\n",
    "package\n",
    "private\n",
    "protected\n",
    "public\n",
    "static\n",
    "\n",
    "以下关键字只在模块代码中被当成保留关键字：\n",
    "\n",
    "await\n",
    "\n",
    "## 之前标准中的保留关键字\n",
    "\n",
    "这里是之前版本中的ECMAScript（1到3）中的保留关键字：\n",
    "\n",
    "abstract\n",
    "boolean\n",
    "byte\n",
    "char\n",
    "double\n",
    "final\n",
    "float\n",
    "goto\n",
    "int\n",
    "long\n",
    "native\n",
    "short\n",
    "synchronized\n",
    "transient\n",
    "volatile\n",
    "\n",
    "## 参考资料\n",
    "\n",
    "1. <https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Lexical_grammar#%E5%85%B3%E9%94%AE%E5%AD%97>"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Javascript (Node.js)",
   "language": "javascript",
   "name": "javascript"
  },
  "language_info": {
   "file_extension": ".js",
   "mimetype": "application/javascript",
   "name": "javascript",
   "version": "12.16.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
